package com.sky.service.common;

import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.pojo.Category;
import com.sky.result.PageResult;
import com.sky.result.Result;

import java.util.List;

/**
 * 菜品分类业务处理层
 *
 * @Author: Zhy
 * @Date: 2025-01-15 17:22
 * @Version: 1.0
 */
public interface CategoryService {

    /**
     * 新增分类
     *
     * @return:
     * @param:
     */
    Result<String> saveCategory(CategoryDTO categoryDTO);

    /**
     * 分页查询
     *
     * @return:
     * @param:
     */
    Result<PageResult> selectPageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

    /**
     * 根据id查询分类
     *
     * @return:
     * @param:
     */
    Result<String> deleteById(Long id);

    /**
     * 修改分类
     *
     * @return:
     * @param:
     */
    Result<String> updateCategoryById(CategoryDTO categoryDTO);

    /**
     * 启用、禁用分类
     *
     * @return:
     * @param:
     */
    Result<String> startOrStop(Integer status, Long id);

    /**
     * 根据类型查询分类
     *
     * @return:
     * @param:
     */
    Result<List<Category>> selectByCategoryType(Integer type);
}
